﻿#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//#include <time.h>
//int main()
//{
//	int begin = clock();
//	int count = 0;
//	int i = 0;
//	for (i = 0; i < 100000000; i++)
//	{
//		count++;
//	}
//	int end = clock();
//	printf("time:%d", end - begin);// 用前面的时间减去后面的时间就是程序运行的时间。
//	return 0;
//}
// 请计算⼀下Func1中++count语句总共执⾏了多少
//次？
//void Func1(int N)
//{
//	int count = 0;
//	for (int i = 0; i < N; ++i)
//	{
//		for (int j = 0; j < N; ++j)
//		{
//			++count;
//		}
//	}
//	for (int k = 0; k < 2 * N; ++k)
//	{
//		++count;
//	}
//	int M = 10;
//	while (M--)
//	{
//		++count;
//	}
//}
//int main()
//{
//	int n = 0;
//	Func1(n);
//
//	return 0;
//}

//// 计算Func2的时间复杂度？
//void Func2(int N)
//{
//	int count = 0;
//	for (int k = 0; k < 2 * N; ++k)
//	{
//		++count;
//	}
//	int M = 10;
//	while (M--)
//	{
//		++count;
//	}
//	printf("%d\n", count);
//}
// 计算Func3的时间复杂度？
//void Func3(int N, int M)
//{
//	int count = 0;
//	for (int k = 0; k < M; ++k)
//	{
//		++count;
//	}
//	for (int k = 0; k < N; ++
//		k)
//	{
//		++count;
//	}
//	printf("%d\n", count);
//}
// 计算Func4的时间复杂度？
//void Func4(int N)
//{
//	int count = 0;
//	for (int k = 0; k < 100; ++k)
//	{
//		++count;
//	}
//	printf("%d\n", count);
//}
// 计算strchr的时间复杂度？
//const char* strchr(const char
//	* str, int character)
//{
//	const char* p_begin = s;
//	while (*p_begin != character)
//	{
//		if (*p_begin == '\0')
//			return NULL;
//		p_begin++;
//	}
//	return p_begin;
//}
// 计算BubbleSort的时间复杂度？
//void BubbleSort(int* a, int n)
//{
//	assert(a);
//	for (size_t end = n; end > 0; --end)
//	{
//		int exchange = 0;
//		for (size_t i = 1; i < end; ++i)
//		{
//			if (a[i - 1] > a[i])
//			{
//				Swap(&a[i - 1], &a[i]);
//				exchange = 1;
//			}
//		}
//		if (exchange == 0)
//			break;
//	}
//}

//void func5(int n)
//{
//	int cnt = 1;
//	while (cnt < n)
//	{
//		cnt *= 2;
//	}
//}
// 计算阶乘递归Fac的空间复杂度？
long long Fac(size_t N)
{
	if (N == 0)
		return 1;
	return Fac(N - 1) * N;
}

